A network provider, such as an Internet Service Provider (ISP), operates a network that delivers Internet connectivity to subscribers. A general model of the network of an ISP consists of a core network and an access network. A subscriber pays an ISP for network connectivity and the subscriber has a Customer-Premises Equipment (CPE) such as a modem or a mobile phone that may be provided by the ISP or by the subscriber. The CPE connects to the access network and exchanges traffic with hosts on the Internet. This traffic is routed through the core network to other networks which collectively make up the Internet. The ISP that sells Internet access to the subscriber may not own or operate the access network; the ISP may be reselling an access network owned by another company. Generally, when a subscriber wants to use the network, the CPE must first establish a session with the access network. As a result of establishing a session, a CPE may be provided with an IPv4 address and/or an IPv6 prefix for the session.
In an IPv4 network, the CPE is provided a single IP address for the network session. However, it is common for a subscriber to have a plurality of network-capable devices that may use the network concurrently. This situation is especially common in fixed-line networks such as Cable and DSL networks, where a subscriber represents an entire household, connected to the access network by a modem. In this case, multiple family members may be using different devices at the same time and other household devices such as alarm systems, TVs, and the like, may be automatically communicating with hosts on the Internet. Multiple devices share a single IPv4 address using a technology called network address translation (NAT), or network address port translation (NAPT).
In this example, the CPE owns or manages the IP address assigned for the session. Typically, the CPE is a router or a Wi-Fi access point that provides network access to other network capable devices. In a fixed-line network, the CPE is generally a network router. In a mobile network, the CPE is generally a mobile handset, such as a phone, a wireless modem, a MiFi device or the like. The CPE provides a private IP address to each device connected to the CPE. The CPE translates each packet sent by a connected device by replacing the device's private source IP address with the IP address of the session and, in some cases, replacing the source port of the packet. The CPE translates each packet sent from the Internet by replacing the destination IP address of the packet with the private IP address of a connected device and, in some cases, replacing the destination port of the packet.
In an IPv6 network, the CPE is provided with an IP prefix. The CPE uses this IP prefix to give each connected device its own IP address or smaller IP prefix, and NAT or NAPT may not be required. If a connected device is provided with an IP prefix, the connected device may change its IP address at any time; this address is called a temporary address and is often done for reasons of privacy. In an IPv6 network, the CPE forwards packets between connected devices and the Internet, based on the destination IP address of each packet.
It is common for a network to support both IPv4 and IPv6 addresses; this is known as a dual-stack network. Many devices have the ability to be assigned both an IPv4 address and an IPv6 address; these are known as dual-stack devices. Having both IP addresses is useful because some Internet hosts work with IPv4 and others work with IPv6; so to have full Internet connectivity in today's Internet as it continues migrating to IPv6, dual-stack networking is needed. There are also IPv6 transition mechanisms that may be used. Generally these mechanisms result in IPv4 traffic being tunneled inside IPv6 traffic between the CPE and a tunnel endpoint in the access network.
In a simple model of a network, the ISP provides basic Internet connectivity, which means the ISP routes each packet from a CPE to the Internet based on the packet's destination IP address. Further, the ISP routes each packet from the Internet to a CPE based on its destination IP address. Generally, the ISP may only know what IPv4 address and/or IPv6 prefix is assigned to each CPE. However, there are several reasons why an ISP may want to know more information about the devices being used to access the Internet, such as how many devices are being used, when and for how long various devices are being used, and how much traffic is being used by different types of devices.
It is, therefore, desirable to provide a system and method for analyzing devices on a network.